//package cn.oyzh.jeditermfx.terminal.emulator.charset;
//
//import org.jetbrains.annotations.NotNull;
//
///**
// * Denotes how a graphic set is designated.
// */
//public class GraphicSet {
//
//    private final int myIndex; // 0..3
//
//    private CharacterSet myDesignation;
//
//    public GraphicSet(int index) {
//        if (index < 0 || index > 3) {
//            throw new IllegalArgumentException("Invalid index!");
//        }
//        myIndex = index;
//        // The default mapping, based on XTerm...
//        myDesignation = CharacterSet.valueOf((index == 1) ? '0' : 'B');
//    }
//
//    /**
//     * @return the designation of this graphic set.
//     */
//    public CharacterSet getDesignation() {
//        return myDesignation;
//    }
//
//    /**
//     * @return the index of this graphics set.
//     */
//    public int getIndex() {
//        return myIndex;
//    }
//
//    /**
//     * Maps a given character index to a concrete character.
//     *
//     * @param original the original character to map;
//     * @param index    the index of the character to map.
//     * @return the mapped character, or the given original if no mapping could
//     * be made.
//     */
//    public int map(char original, int index) {
//        int result = myDesignation.map(index);
//        if (result < 0) {
//            // No mapping, simply return the given original one...
//            result = original;
//        }
//        return result;
//    }
//
//    /**
//     * Sets the designation of this graphic set.
//     */
//    public void setDesignation(@NotNull CharacterSet designation) {
//        myDesignation = designation;
//    }
//}